<?php
/**
  * classe definissant les boxs de type defaut
  * pour creer vos propres types de box, creer une classe avec comme nom, le nom du repertoire!!!
  * 
  * Developpee par Rodrigue LE GALL
  * sous licence GPL
  * Objectif : Construire les boxs
  */
require_once(get_path_module("environnement.box"));
require_once('module/TPLN/TPLN.php');

class edition extends box
{
    /**
      * $needenv permet de specifier si la methode construct a besoin de l'objet environnement
      * 0 : pas besoin
      * 1 : besoin
      */
    var $needenv = 0;
    
    function construct(){
        /**
          * a implementer : mise a jour de $this->prompt
          */
        global $rportalparams;
        $this->setrepertoire($rportalparams->get_value("BOX","edition"));
        
        $TPLN = new TPLN();
        $TPLN->DefineTemplate(
        	array(	"BOX"=>get_env_path().$this->getenvironnement().'/'.$this->gettemplate(),
					"PUB"=>$this->getrepertoire()."pub.php",
					"VER"=>$this->getrepertoire()."verrou.php",
					"STA"=>$this->getrepertoire()."stats.php",
					"CREA"=>$this->getrepertoire()."creation.php",
					"AFF"=>$this->getrepertoire()."affichage.php"
            )
        );
        //$TPLN->Open(get_env_path().$this->getenvironnement().'/'.$this->gettemplate());
        
        $param = $this->getparam();
        
        $this->ParseBloc($TPLN,'BOX','PUB',"demande",$param->get('demande'));
        $this->ParseBloc($TPLN,'BOX','VER',"verrou",$param->get('verrou'));
        $this->ParseBloc($TPLN,'BOX','STA',"stats",$param->get('stats'));
        $this->ParseItem($TPLN,'BOX','CREA',"creation",$param->get('creation'));
        
        $TPLN->ChangeTemplate('BOX');
        if($TPLN->ItemExists('titre'))
        	$TPLN->Parse("titre",$param->get('titre'));
        	
        if($TPLN->ItemExists('masquer'))
        	$TPLN->Parse("masquer","<a href='?op=html&amp;box_edition_affichage='>Masquer</a>");
        	
        $box_output = $TPLN->Output();
        
        $TPLN->ChangeTemplate('AFF');
        $TPLN->Parse('contenu',$box_output);
        
        $this->prompt = $TPLN->Output();
    }
    
    function ParseBloc(&$TPLN,$TPLini,$TPLbloc,$nomBloc,$parse){
    	$TPLN->ChangeTemplate($TPLini);
        if($TPLN->BlocExists($nomBloc)){
        	if($parse==1){
	        	$bloc = addslashes(str_replace("\n", "", $TPLN->GetBlocInFile($nomBloc)));
	        	$output_bloc = "";
	        	$TPLN->ChangeTemplate($TPLbloc);
	        	$TPLN->Parse("bloc",$bloc);
	        	$output_bloc = $TPLN->Output();
	        	
	        	$TPLN->ChangeTemplate($TPLini);
	        	$TPLN->ParseBloc($nomBloc,$output_bloc);
        	} else {
        		$TPLN->EraseBloc($nomBloc);	
        	}	
        }
    }
    
    function ParseItem(&$TPLN,$TPLini,$TPLbloc,$nomItem,$parse){
    	$TPLN->ChangeTemplate($TPLini);
        if($TPLN->ItemExists($nomItem)){
        	if($parse==1){
        		$TPLN->ChangeTemplate($TPLbloc);
        		$output_bloc = $TPLN->Output();
	        	$TPLN->ChangeTemplate($TPLini);
	        	$TPLN->Parse($nomItem,$output_bloc);
        	} else {
        		$TPLN->Parse($nomItem,"");	
        	}	
        }
    }
}
?>
